# Google Test
if(USE_GOOGLE_TEST)
  create_target(
    test_mpi_string_wrapper
    "test_mpi_string_wrapper.cpp;${MPI_SRC_PATH}/mpi_util.cpp" "mpi;gtest")
  create_target(
    test_ctxt_reduce
    "test_ctxt_reduce.cpp;${MPI_SRC_PATH}/cipher_mpi_base.cpp;${MPI_SRC_PATH}/mpi_util.cpp"
    "helib;mpi;gtest")

  # Cannon
  create_target(
    test_hhmm2d
    "test_hhmm2d.cpp;${GENERAL_SRCS};${MPI_SRC_PATH}/cipher_cannon.cpp;${MPI_SRC_PATH}/mpi_util.cpp;${HYPERCUBE_SRCS}"
    "helib;mpi;mkl;gtest")
  create_target(
    test_big_hhmm2d
    "test_big_hhmm2d.cpp;${GENERAL_SRCS};${MPI_SRC_PATH}/cipher_cannon.cpp;${MPI_SRC_PATH}/mpi_util.cpp;${HYPERCUBE_SRCS}"
    "helib;mpi;mkl;gtest")
  create_target(
    example_mpi_hhmm
    "example_mpi_hhmm.cpp;${GENERAL_SRCS};${MPI_SRC_PATH}/mpi_util.cpp;${HYPERCUBE_SRCS}"
    "helib;mpi;gtest")
  # 3D
  create_target(
    test_hhmm3d
    "test_hhmm3d.cpp;${GENERAL_SRCS};${MPI_SRC_PATH}/cipher_mpi_base.cpp;${MPI_SRC_PATH}/cipher_3d.cpp;${MPI_SRC_PATH}/mpi_util.cpp;${HYPERCUBE_SRCS}"
    "helib;mpi;mkl;gtest")
  create_target(
    test_big_hhmm3d
    "test_big_hhmm3d.cpp;${GENERAL_SRCS};${MPI_SRC_PATH}/cipher_mpi_base.cpp;${MPI_SRC_PATH}/cipher_3d.cpp;${MPI_SRC_PATH}/mpi_util.cpp;${HYPERCUBE_SRCS}"
    "helib;mpi;mkl;gtest")
endif()

create_target(test_3d_partition "test_3d_partition.cpp" "")
create_target(test_4d_partition "test_4d_partition.cpp" "")
